The term Internet of things (commonly abbreviated as IoT) is used to denote advanced connectivity of devices, systems and services that goes beyond the traditional machine-to-machine (M2M) and covers a variety of protocols, domains and applications. In one interpretation, objects in the world, such as devices and sensors for example, equipped with machine-readable identifiers will connect to the Internet/Web via Wi-Fi, Bluetooth or low-power radio or other alternatives. According to some estimates, there will be 26-30 billion devices wirelessly connected to the Internet of things by 2020.
Collecting data from such information-sensing devices will lead to a collection of large and complex data sets or “Big Data” that need to be collected, stored and analyzed in some form of online platform. However, current big data platform architectures are limited in that they require knowledge of both the types of devices from which data will be collected as well as the type and structure of the data in order to communicate with the devices and store the data. That is, such platforms are typically customized for a specific type of application or use case (i.e., a particular domain).
An online platform that attempts to gather data from devices in the Internet of things can be designed and implemented, but because of the necessary scope of the platform and the multitude of devices that will connect to the online platform, both today and in the future, most of which the implementers of the platform will have no knowledge of, it is impossible to “program” the necessary communication protocols and intelligence into the platform at any point in time so that the platform provides a decent or relevant user experience.
Accordingly, what is needed is an improved software platform to which devices (known and unknown) are able to connect and submit data in order to provide relevant functionality to the user.